//package cn.qiao.netty.example;
//
//import io.netty.bootstrap.ServerBootstrap;
//import io.netty.buffer.ByteBuf;
//import io.netty.channel.ChannelHandlerContext;
//import io.netty.channel.ChannelInboundHandlerAdapter;
//import io.netty.channel.ChannelInitializer;
//import io.netty.channel.EventLoopGroup;
//import io.netty.channel.nio.NioEventLoopGroup;
//import io.netty.channel.socket.nio.NioServerSocketChannel;
//import io.netty.channel.socket.nio.NioSocketChannel;
//
//import java.nio.charset.Charset;
//import java.util.concurrent.TimeUnit;
//
//public class EventLoopTest_5_server {
//    public static void main(String[] args) {
//        // 处理耗时较长的 EventLoopGroup
//        EventLoopGroup otherGroup = new DefaultEventLoopGroup(2);
//
//        new ServerBootstrap()
//                .group(new NioEventLoopGroup(),new NioEventLoopGroup(2))
//                .channel(NioServerSocketChannel.class)
//                .childHandler(new ChannelInitializer<NioSocketChannel>() {
//                    @Override
//                    protected void initChannel(NioSocketChannel ch) throws Exception {
//                        ch.pipeline().addLast(new ChannelInboundHandlerAdapter(){
//                            @Override
//                            public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
//                                ByteBuf byteBuf = (ByteBuf) msg;
//                                String objectMsg = byteBuf.toString(Charset.defaultCharset());
//
//                                ctx.fireChannelRead(objectMsg);
//                            }
//                        });
//                        ch.pipeline().addLast(otherGroup,"other-eventGroup",new ChannelInboundHandlerAdapter(){
//                            @Override
//                            public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
//                                TimeUnit.SECONDS.sleep(10);
//                            }
//                        });
//                    }
//                })
//                .bind(8081);
//    }
//}